package com.ssy.lingxi.member.merchant.model.constant;

import com.ssy.lingxi.common.language.LanguageHolder;

/**
 * 会员服务需要国际化的常量字符串定义
 * @author 万宁
 * @version 2.0.0
 * @date 2022-02-17
 */
public enum MemberStringEnum {
    /**
     * 下拉菜单第一项
     */
    CHOOSE(1, "请选择"),

    /**
     * 订单自动评价
     */
    AUTO_COMMENT(2, "会员未评价，系统自动默认好评"),

    /**
     * 交易后记录日志时的字符串
     */
    ORDER_NO(3, "订单号"),

    /**
     * 交易后记录日志时的字符串
     */
    COUPON_NO(4, "优惠券号"),

    /**
     * 会员名称
     */
    MEMBER(5, "会员"),

    /**
     * 平台名称
     */
    PLATFORM(6, "平台"),

    /**
     * 用于会员外部流程
     */
    MEMBER_APPLY(7, "申请会员"),

    /**
     * 用于会员外部流程
     */
    MEMBER_VALIDATE(8, "审核会员"),

    /**
     * 会员审核流程名称
     */
    MEMBER_VALIDATE_PROCESS(9, "会员审核流程"),

    /**
     * 会员入库流程名称
     */
    MEMBER_DEPOSIT_PROCESS(10, "会员入库流程"),

    /**
     * 会员入库内部流程名称
     */
    MEMBER_DEPOSIT_INNER_PROCESS(11, "会员入库内部审核流程"),

    /**
     * 会员变更流程名称
     */
    MEMBER_CHANGE_PROCESS(12, "会员变更流程"),

    /**
     * 会员内部变更流程名称
     */
    MEMBER_CHANGE_INNER_PROCESS(13, "会员变更内部审核流程"),

    /**
     * 外部入库审核流程名称
     */
    MEMBER_DEPOSIT_OUTER_PROCESS(14, "会员入库外部审核流程"),

    /**
     * 外部变更流程名称
     */
    MEMBER_CHANGE_OUTER_PROCESS(15, "会员变更外部审核流程"),

    /**
     * 外部变更流程第一步
     */
    MEMBER_CHANGE_OUTER_STEP_ONE(16, "申请会员变更"),

    /**
     * 外部变更流程第二步
     */
    MEMBER_CHANGE_OUTER_STEP_TWO(17, "审核会员变更"),

    MEMBER_REGISTER_NO_PROCESS(18, "会员注册--无需审核"),

    MEMBER_REGISTER_NO_PROCESS_STEPS(19, "1-申请注册"),

    MEMBER_REGISTER_CONFIRM_PROCESS(20, "会员注册--确认会员资料"),

    MEMBER_REGISTER_CONFIRM_PROCESS_STEPS(21, "1-申请注册-->2-确认会员资料"),

    MEMBER_REGISTER_FULL_PROCESS(22, "会员注册--全审核流程"),

    MEMBER_REGISTER_FULL_PROCESS_STEPS(23, "1-申请注册-->2-提交审核-->3-审核(一级)-->4-审核(二级)-->5-确认会员资料"),

    MEMBER_INIT_DEPOSIT_PROCESS(24, "企业类型--供应商入库"),

    MEMBER_DEPOSIT_DIRECT_PROCESS_STEPS(25, "0-无需审核"),

    MEMBER_DEPOSIT_ONE_PROCESS_STEPS(26, "1-确认入库"),

    MEMBER_DEPOSIT_THREE_PROCESS_STEPS(27, "1-入库分类-->2-审核入库-->3-确认入库"),

    MEMBER_DEPOSIT_FOUR_PROCESS_STEPS(28, "1-审核入库资料-->2-入库分类-->3-审核入库-->4-确认入库"),

    MEMBER_DEPOSIT_FIVE_PROCESS_STEPS(29, "1-审核入库资料-->2-入库考察-->4-入库分类-->5-审核入库-->6-确认入库"),

    MEMBER_DEPOSIT_SIX_PROCESS_STEPS(30, "1-审核入库资料-->2-审核入库资质-->3-入库考察-->4-入库分类-->5-审核入库-->6-确认入库"),

    MEMBER_DEPOSIT_SEVEN_PROCESS_STEPS(31, "1-审核入库资料-->2-审核入库资质-->3-入库考察-->4-入库分类-->5-审核入库(一级)-->6-审核入库(二级)-->7-确认入库"),

    MEMBER_INIT_CHANGE_PROCESS(32, "企业类型--供应商资料变更"),

    MEMBER_INIT_CHANGE_ONE_STEPS(33, "1-确认会员变更"),

    MEMBER_INIT_CHANGE_TWO_STEPS(34, "1-审核会员变更-->2-确认会员变更"),

    MEMBER_INIT_CHANGE_THREE_STEPS(35, "1-审核会员变更(一级)-->2-审核会员变更(二级)-->3-确认会员变更"),

    PLATFORM_BACKGROUND(36, "平台后台"),

    MEMBER_CENTRE(37, "会员中心"),

    APPLY_FOR_DEPOSITORY(38, "申请会员入库"),

    VALIDATE_DEPOSITORY(39, "审核会员入库"),

    APPLY_FOR_CHANGE(40, "申请会员变更"),

    VALIDATE_CHANGE(41, "审核会员变更"),

    BUSINESS_ROLE(42, "业务角色"),

    APPLY_FOR_REGISTER(43, "申请注册"),

    URL_FORMAT_MISMATCH(44, "Url格式不正确"),

    EXCEED_LENGTH_LIMIT(45, "超过字段长度限制"),

    UPLOAD(46, "请上传"),

    FILL_IN(47, "请填写"),

    ALL(48, "所有"),

    /**
     * 平台后台的PAAS角色名称
     */
    PLATFORM_ROLE_NAME(100, "平台"),

    /**
     * 平台角色的业务类型名称
     */
    PLATFORM_ROLE_BUSINESS_NAME(101, "平台运营"),

    /**
     * 平台后台超级管理员默认所属会员名称
     */
    PLATFORM_SUPER_ADMIN_MEMBER_NAME(102, "平台"),

    /**
     * 平台后台超级管理员用户的会员角色名称
     */
    PLATFORM_SUPER_ADMIN_MEMBER_ROLE_NAME(103, "超级管理员"),

    /**
     * 平台后台超级管理员用户的职位名称
     */
    PLATFORM_SUPER_ADMIN_JOB_TITLE(104, "超级管理员"),

    /**
     * 自动创建会员的管理员角色后，角色默认的描述
     */
    MEMBER_ADMIN_ROLE_DEFAULT_REMARK(105, "全部权限"),

    /**
     * 区域代码中表示国家的名称
     */
    COUNTRY_AREA_TOP_NAME(106, "全国"),

    /**
     * 会员能力 - 新建渠道会员时，默认的渠道等级名称
     */
    MEMBER_CHANNEL_DEFAULT_LEVEL_TAG(107, "二级");

    MemberStringEnum(Integer code, String name) {
        this.code = code;
    }

    private Integer code;

    public Integer getCode() {
        return code;
    }

    public String getName() {
        return LanguageHolder.getName(this.getClass(), this.getCode());
    }
}
